package com.hb.core.pojo.project.order.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 发票信息 dto
 *
 * @author jinhaolin
 * @date 2022/4/1 0001 21:02
 **/
@Data
public class InvoiceDTO implements Serializable {

    /**
     * 主键id
     */
    private Long id;

    /**
     * 订单id
     */
    private Long orderId;

    /**
     * 发票金额
     */
    private String invoiceAmount;

    /**
     * 发票类型：专票004、普票007、电子普票026、普票（卷式）025、电子专票028
     */
    private String invoiceType;

    /**
     * 购方单位名称
     */
    private String purchaserName;

    /**
     * 购方单位识别号
     */
    private String purchaserIdentification;

    /**
     * 购方地址
     */
    private String purchaserAddress;

    /**
     * 购方电话
     */
    private String purchaserPhone;

    /**
     * 购方银行账号
     */
    private String purchaserBankAccount;

    /**
     * 申请提交时间
     */
    @JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime  submitTime;

    /**
     * 开票成功标识
     */
    private Integer invoiceSuccessFlag;

    /**
     * 发票代码
     */
    private String invoiceCode;

    /**
     * 发票号码
     */
    private String invoiceNumber;

    /**
     * 开票日期
     */
    private String invoiceTime;

    /**
     * 税控码
     */
    private String controlledTaxCode;

    /**
     * 校验码
     */
    private String checkCode;

    /**
     * 二维码
     */
    private String qrCode;


    @ApiModelProperty(value = "电子发票的pdfUrl")
    private String pdfUrl;

    @ApiModelProperty(value = "电子发票的pdfCode")
    private String pdfCode;

}
